iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0

今天延續昨天的 nmap ,帶大家實際來認識一些功能。
今天我們拿到一個目標,沒有明講我們該做什麼,那我們該怎麼對症下藥呢?
這時候就要請出我們的 nmap ,看這個目標運行著什麼服務,我們可以去做測試。

nmap <targetIP>
osga@kali:/Users/osga$ nmap 10.129.42.254
Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-22 17:31 CST
Nmap scan report for 10.129.42.254
Host is up (0.25s latency).
Not shown: 993 closed tcp ports (reset)
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
2323/tcp open  3d-nfsd
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 1.46 seconds

深入了解 nmap 掃描結果

在這個例子中我們可以看到 nmap 給我們了幾項資訊,像是目前開設了哪些 PORT ,他們是什麼服務,狀態如何等...

在這邊就能看到幾個眼熟的服務,像是 ssh、ftp、http 之類的..

常見服務

  • 22/tcp (SSH) - 安全遠端登入連線服務(前幾天提到的)
  • 21/tcp (FTP) - 文件傳輸協議,可能存在匿名登入或弱密碼問題
  • 80/tcp (HTTP) - 網頁服務,Web 應用程式的入口點
  • 443/tcp (HTTPS) - 加密的網頁服務
  • 3306/tcp (MySQL) - 數據庫服務,如果對外開放可能存在安全風險

進階 nmap 掃描技巧

基本的 nmap <targetIP> 只會掃描常用的 1000 個端口,但實際上我們可以做得更深入:

1. 全端口掃描

nmap -p- <targetIP>

這會掃描所有 65535 個端口,雖然耗時較長,但能發現隱藏在非標準端口上的服務。

2. 服務版本檢測

nmap -sV <targetIP>

加上 -sV 參數後,nmap 會嘗試識別每個開放端口上運行的具體服務版本,這對後續的漏洞分析非常重要。

3. 作業系統檢測

nmap -O <targetIP>

透過分析網路封包的特徵,nmap 可以猜測目標系統的作業系統類型和版本。

4. 腳本掃描

nmap --script vuln <targetIP>

nmap 內建了數百個 NSE (Nmap Scripting Engine) 腳本,可以自動檢測常見的漏洞。

組合技:全面掃描

在實際的滲透測試中,我們通常會組合多個參數來獲得最完整的資訊:

nmap -sS -sV -O -A --script vuln -p- <targetIP>

讓我們分解這個指令:

  • -sS: TCP SYN 掃描(隱密掃描)
  • -sV: 版本檢測
  • -O: 作業系統檢測
  • -A: 啟用作業系統檢測、版本檢測、腳本掃描和路由追蹤
  • --script vuln: 執行漏洞檢測腳本
  • -p-: 掃描所有端口

掃描結果的分析策略

拿到掃描結果後,我們應該按照以下優先級進行分析:

高優先級目標

  1. Web 服務 (80, 443, 8080) - 現代應用程式最常見的攻擊面
  2. 遠端登入服務 (22 SSH, 3389 RDP) - 直接的系統存取點
  3. 數據庫服務 (3306 MySQL, 5432 PostgreSQL) - 敏感資料的寶庫

中優先級目標

  1. 文件傳輸服務 (21 FTP, 139/445 SMB) - 可能的資料洩露點
  2. 郵件服務 (25 SMTP, 110 POP3, 143 IMAP) - 社工攻擊的起點

實戰小技巧

避免被防火牆檢測

nmap -sS -T2 --randomize-hosts <targetIP>

使用較慢的掃描速度和隨機化主機順序,降低被 IDS/IPS 檢測的機率。

輸出結果到文件

nmap -oA scan_results <targetIP>

-oA 會同時輸出三種格式的結果文件,方便後續分析和報告撰寫。

常用 nmap 參數總結

參數 功能
-sS TCP SYN 掃描(預設)
-sU UDP 掃描
-sV 版本檢測
-O 作業系統檢測
-A 全面掃描(包含 -O -sV --script default --traceroute)
-p- 掃描所有 65535 個端口
-p 1-100 掃描指定端口範圍
-T0-5 設定掃描時間模板(0最慢,5最快)
--script <script> 執行特定腳本
-oA <filename> 輸出所有格式的結果

額外補充:nmap 腳本引擎 (NSE)

nmap 最強大的功能之一就是它的腳本引擎。以下是一些常用的腳本類別:

漏洞檢測腳本

# 檢測所有已知漏洞
nmap --script vuln <targetIP>

# 檢測特定漏洞(如 Heartbleed)
nmap --script ssl-heartbleed <targetIP>

# 檢測 SMB 漏洞
nmap --script smb-vuln* <targetIP>

服務枚舉腳本

# HTTP 服務枚舉
nmap --script http-enum <targetIP>

# SSH 服務資訊收集
nmap --script ssh2-enum-algos <targetIP>

# FTP 匿名登入檢測
nmap --script ftp-anon <targetIP>

上一篇
[Day 7] 一個掃描...都給我現行吧!
下一篇
[Day 9] 掃掃掃,路徑旅人
系列文
帶著筆電勇闖從零開始的滲透測試異世界10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言